*Lights on the Shadows of Public Procurement 
*Transparency as an antidote to corruption

*Authors:
*Monika Bauhr  
*Agnes Czibik
*Mihaly Fazekas
*Jenny de Fine Licht

*Date: 19 July 2019 



**Table 3. Pooled OLS, Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-4) as well as for the Local Sample Only (Models 5-6), Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta

reg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year i.typical_country i.typical_type i.typical_sector if n_y>=3, vce(cluster typical_nuts2)
est sto r1
xtreg singleb transp100 if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r5
xtmixed singleb transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: transp100 || typical_nuts2: transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r6
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5 r6, order(transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace

sum transp100 if f_local==1 & n_y>=3


**Table 4. Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-3) as well as for the Local Sample Only (Models 4-5), Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
xtreg singleb exante_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r1
xtreg singleb expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb exante_transp100 expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb exante_transp100 expost_transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtmixed singleb exante_transp100 expost_transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: exante_transp100 expost_transp100 || typical_nuts2: exante_transp100 expost_transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r5
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5, order(exante_transp100 expost_transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace


**Figure 1. The Predicted Effect of Overall Transparency on the Percentage of Single Bidding in Public Procurement (Table 3, Model 3)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
margins, at(transp100=(0 (20) 100))
marginsplot, recast(line) recastci(rarea) ytitle("predicted single bidder %") xtitle("Overall Transparency")


**Figure 2. The Predicted Effect of Ex Ante Transparency on the Percentage of Single Bidding in Public Procurement (Table 4, Model 1)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
xtreg singleb exante_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
margins, at(exante_transp100=(0 (20) 100)) force
marginsplot, recast(line) recastci(rarea) ytitle("predicted single bidder %") xtitle("Ex Ante Transparency")


**Figure 3. The Predicted Effect of Ex Post Transparency on the Percentage of Single Bidding in Public Procurement (Table 4, Model 2)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
xtreg singleb expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
margins, at(expost_transp100=(0 (20) 100)) force
marginsplot, recast(line) recastci(rarea) ytitle("predicted single bidder %") xtitle("Ex Post Transparency")


**Figure A1
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
graph box singleb if n_y>=3, over(typical_country, sort(median_singleb) label(angle(90))) noout


**Table A1 Correlations between Ex Ante Transparency and Missing Information, Contracting Authority�Level Data (Authorities with at Least 3 Awarded Contracts per Year)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
pwcorr cft_empty_crittype cft_empty_crit cft_empty_lang err_cftcpvprec cft_empty_duration ///
exante_transp100 if n_y>=3, star(0.05)


**Table A2 Correlations Between Ex Post Transparency and Missing Information, Contracting Authority�Level Data (Authorities with at Least Three Awarded Contracts per Year)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
pwcorr err_nuts err_eu err_subc err_cvalue err_wname expost_transp100 if n_y>=3, star(0.05)


**Table A3 Number of Contracts Between 2006 and 2015, Non-Competitive Markets Excluded
*Dataset: ted_2006_2015_for_publ_180205.dta 
tab year if mcvfilter_ok==1


**Table A4 Descriptives of Variables in Panel Regressions (Contracting Authority�Level Data, 2006�2015)
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
sum singleb transp100 exante_transp100 expost_transp100 ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2 if n_y>=3


**Figure A2. Histogram of Overall Transparency, Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
hist transp100 if n_y>=3, xtitle("Overall transparency")


**Figure A3. Histogram of Ex Ante Transparency, Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
hist exante_transp100 if n_y>=3, xtitle("Ex ante transparency")


**Figure A4. Histogram of Ex Post Transparency, Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
hist expost_transp100 if n_y>=3, xtitle("Ex post transparency")


*Table B1. Pooled OLS, Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-4) as well as for the Local Sample Only (Models 5-6), Contracting Authorities if They Awarded at Least 3 Contracts per Year, Markets if there are at least 5 unique suppliers
*Dataset: ted_2006_2015_panel_5comp_collapsed_for_publ_180214.dta
reg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year i.typical_country i.typical_type i.typical_sector if n_y>=3, vce(cluster typical_nuts2)
est sto r1
xtreg singleb transp100 if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r5
xtmixed singleb transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: transp100 || typical_nuts2: transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r6
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5 r6, order(transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace

**Table B2 Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-3) as well as for the Local Sample Only (Models 4-5), Contracting Authorities if They Awarded at Least 3 Contracts per Year. Markets if there are at least 5 unique suppliers
*Dataset: ted_2006_2015_panel_5comp_collapsed_for_publ_180214.dta
xtreg singleb exante_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r1
xtreg singleb expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb exante_transp100 expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb exante_transp100 expost_transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtmixed singleb exante_transp100 expost_transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: exante_transp100 expost_transp100 || typical_nuts2: exante_transp100 expost_transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r5
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5, order(exante_transp100 expost_transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace


*Table B3 Pooled OLS, Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-4) as well as for the Local Sample Only (Models 5-6), Contracting Authorities if They Awarded at Least 3 Contracts per Year. Markets if there are at least 10 unique suppliers
*Dataset: ted_2006_2015_panel_10comp_collapsed_for_publ_180214.dta
reg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year i.typical_country i.typical_type i.typical_sector if n_y>=3, vce(cluster typical_nuts2)
est sto r1
xtreg singleb transp100 if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtreg singleb transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r5
xtmixed singleb transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: transp100 || typical_nuts2: transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r6
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5 r6, order(transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace


**Table B4 Fixed-Effects Panel Regressions and Multilevel Modelling regressions for the Total Organizational Sample (models 1-3) as well as for the Local Sample Only (Models 4-5), Contracting Authorities if They Awarded at Least 3 Contracts per Year. Markets if there are at least 10 unique suppliers
*Dataset: ted_2006_2015_panel_10comp_collapsed_for_publ_180214.dta
xtreg singleb exante_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r1
xtreg singleb expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
xtreg singleb exante_transp100 expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r3
xtreg singleb exante_transp100 expost_transp100 ca_contract_type32 ca_contract_type33 lca_contract_value demo_frate2 econ_2gdp_eur_hab emp_y1564_t i.year if f_local==1 & n_y>=3, fe vce(cluster typical_nuts2)
est sto r4
xtmixed singleb exante_transp100 expost_transp100 demo_frate2 econ_2gdp_eur_hab emp_y1564_t ca_contract_type32 ca_contract_type33 lca_contract_value i.typical_type i.typical_sector || year: exante_transp100 expost_transp100 || typical_nuts2: exante_transp100 expost_transp100 if f_local==1 & n_y>=3 & nuts_orgnr>=25, mle var
est sto r5
predict yhat, xb
corr yhat singleb
di r(rho)^2
drop yhat
esttab r1 r2 r3 r4 r5, order(exante_transp100 expost_transp100 singleb ca_contract_type32 ca_contract_type33 lca_contract_value econ_2gdp_eur_hab emp_y1564_t demo_frate2) ///
label nogaps compress r2 obs p replace


**Table B5. Fixed-Effects Panel Regressions for the Total Organizational Sample, Contracting Authorities if They Awarded at Least 3 Contracts per Year
*Dataset: ted_2006_2015_panel_collapsed_for_publ_180205.dta
xtreg singleb exante_transp100_nocft exante_transp100_exnocft L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r1
xtreg singleb exante_transp100_nocft exante_transp100_exnocft expost_transp100 L.singleb ca_contract_type32 ca_contract_type33 lca_contract_value i.year if n_y>=3, fe vce(cluster typical_nuts2)
est sto r2
esttab r1 r2, order(exante_transp100_nocft exante_transp100_exnocft expost_transp100 ca_contract_type32 ca_contract_type33 lca_contract_value singleb) label nogaps compress r2 obs p replace

